package com.qf.mapper;

import com.qf.entity.Menu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 2019/12/11
 * 郭程鹏
 * springboot_oa_five
 * 面向代码面向君,不负时光不负卿
 */

public interface MenuMapper {
    //异步校验权限码
    Integer ajaxPreCode(@Param("preCode") String preCode);

    //异步校验请求路径
    Integer ajaxUrl(@Param("menuUrl") String menuUrl);
    //查询所有菜单
    List<Menu> findMenu(@Param("menuName") String menuName);

    //通过编号查询菜单
    String findMenuById(@Param("menuId") Integer menuId);

    //c查询顶级菜单
    List<Menu> findFatherMenu();

    //异步校验用户名
    Integer ajaxMenuName(@Param("menuName") String menuName);

    //添加菜单
    Integer addMenu(Menu menu);

    //查询菜单信息
    Menu findMyMenuById(@Param("menuId")Integer menuId);

    //修改菜单
    void updateMenu(Menu menu);

    //查询是否有菜单对应的角色编号
    List<Integer> checkMenuInMiddle(@Param("menuId") Integer menuId);

    //删除菜单
    void deleteMenu(@Param("menuId")  Integer menuId);

    //清空中间表的菜单
    void deleteMenuIdInMiddle(@Param("menuId")  Integer menuId);

    //禁用菜单
    void menuBan(@Param("menuId")  Integer menuId);

    //启用菜单
    void menuActive(@Param("menuId")  Integer menuId);

    //批量导出
    List<Menu> doExcle(@Param("menuId")List<Integer> menuId);

    //批量删除
    void deleteAll(@Param("menuId") Integer menuId);
}
